#pragma once
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
#include <iomanip>
#include "../math/ce_vec4.h"
#include "../math/ce_vec2.h"

class CE_UIRenderer
{
private:
    std::string _addressId;
    std::string _shaderPath;

    /**
     * @brief 获取对象的内存地址字符串
     *
     * @return std::string
     */
    std::string _getAddressString();

public:
    CE_UIRenderer();
    void updateShader(std::string shaderPath);
    void updateVertexs(float x, float y, float anchorX, float anchorY, float width, float height);
    void updateColor(float r, float g, float b, float a);
    void updateRenderState();
    ~CE_UIRenderer();
};
